package org.example.cake.service;

import org.apache.ibatis.annotations.Param;
import org.example.cake.entity.Carousel;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface CarouselService{


    int deleteByPrimaryKey(Integer id);

    int insert(Carousel record);

    int insertSelective(Carousel record);

    Carousel selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Carousel record);

    int updateByPrimaryKey(Carousel record);

    // 查询所有轮播图
    List<Carousel> getCarouselList();

    /**
     * //后台轮播图查询
     * @author 徐
     * @param title 轮播图标题
     * @date 2025-07-28
     * @return 轮播图集合
     */

    public List<Carousel>selectCarouselPageEnd(String title);

    /**
     * //后台轮播图删除（根据id删除）
     * @author 徐
     * @param id 轮播图id
     * @date 2025-07-28
     * @return 轮播图id
     */
    public String deleteCarouselIdEnd(Integer id);

    /**
     * //后台轮播图修改状态（根据id修改）
     * @author 徐
     * @param id 轮播图id
     * @param status 轮播图状态
     * @date 2025-07-28
     * @return 受影响的行数
     */
    public String updateCarouselStatusEnd(@Param("id")Integer id,@Param("status")Integer status);


    /**
     * //新增后台轮播图信息
     * @author 徐
     * @param carousel 轮播图对象
     * @date 2025-07-28
     * @return 受影响的行数
     */
    public String insertCarouselEnd(Carousel carousel);

    /**
     * //修改后台轮播图信息
     * @author 徐
     * @param carousel 轮播图对象
     * @date 2025-07-28
     * @return 受影响的行数
     */

    public String updateCarouselEnd(Carousel carousel);


    /**
     * //修改轮播图图片
     * @author 徐
     * @param carousel 轮播图对象
     * @date 2025-07-28
     * @return 受影响的行数
     */
    public int updateCarouselImgEnd(Carousel carousel);

    /**
     * //批量新增轮播图图片
     * @author 徐
     * @param carouselList 轮播图图片集合
     * @date 2025-07-28
     * @return 受影响的行数
     */
    public int addCarouselImgEnd(List<Carousel>carouselList);

    //存入minio的方法
    void sava(Carousel carousel);

    /**
     * //后台根据id查询轮播图是否存在
     * @author 徐
     * @param id 轮播图id
     * @date 2025-08-04
     * @return 受影响行数
     */
    public Carousel selectById(Integer id);
}
